<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.5"/>
<title>Dinic: Referencia del Archivo apifiles/nbrhd.h</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
  $(document).ready(initResizable);
  $(window).load(resizeHeight);
</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
  $(document).ready(function() { searchBox.OnSelectItem(0); });
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td style="padding-left: 0.5em;">
   <div id="projectname">Dinic
   &#160;<span id="projectnumber">1.0</span>
   </div>
   <div id="projectbrief">Documentacion de la API de DINIC para la cátedra de Matemática Discreta II.</div>
  </td>
   <td>        <div id="MSearchBox" class="MSearchBoxInactive">
        <span class="left">
          <img id="MSearchSelect" src="search/mag_sel.png"
               onmouseover="return searchBox.OnSearchSelectShow()"
               onmouseout="return searchBox.OnSearchSelectHide()"
               alt=""/>
          <input type="text" id="MSearchField" value="Buscar" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)" 
               onblur="searchBox.OnSearchFieldFocus(false)" 
               onkeyup="searchBox.OnSearchFieldChange(event)"/>
          </span><span class="right">
            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
          </span>
        </div>
</td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generado por Doxygen 1.8.5 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Buscar');
</script>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('nbrhd_8h.html','');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>Todo</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Estructuras de Datos</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Archivos</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Funciones</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>&apos;typedefs&apos;</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>&apos;defines&apos;</a></div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div class="header">
  <div class="summary">
<a href="#define-members">'defines'</a> &#124;
<a href="#func-members">Funciones</a>  </div>
  <div class="headertitle">
<div class="title">Referencia del Archivo nbrhd.h</div>  </div>
</div><!--header-->
<div class="contents">

<p>Encabezado de <a class="el" href="nbrhd_8c.html" title="Las estructuras Nbrhd, Fedge, Bedge y todas sus funciones se definen aquí. ">nbrhd.c</a>.  
<a href="#details">Más...</a></p>
<div class="textblock"><code>#include &quot;<a class="el" href="__u64_8h_source.html">_u64.h</a>&quot;</code><br/>
<code>#include &quot;<a class="el" href="lado_8h_source.html">lado.h</a>&quot;</code><br/>
</div><div class="textblock"><div class="dynheader">
Dependencia gráfica adjunta para nbrhd.h:</div>
<div class="dyncontent">
<div class="center"><img src="nbrhd_8h__incl.png" border="0" usemap="#apifiles_2nbrhd_8h" alt=""/></div>
<map name="apifiles_2nbrhd_8h" id="apifiles_2nbrhd_8h">
<area shape="rect" id="node3" href="__u64_8h.html" title="Se utiliza el tipo de dato u64 para especificar un entero de 64 bits sin signo. " alt="" coords="30,155,89,181"/><area shape="rect" id="node7" href="lado_8h.html" title="Lado es una estructura que representa un lado del network. " alt="" coords="64,80,121,107"/></map>
</div>
</div><div class="textblock"><div class="dynheader">
Gráfico de los archivos que directa o indirectamente incluyen a este archivo:</div>
<div class="dyncontent">
<div class="center"><img src="nbrhd_8h__dep__incl.png" border="0" usemap="#apifiles_2nbrhd_8hdep" alt=""/></div>
<map name="apifiles_2nbrhd_8hdep" id="apifiles_2nbrhd_8hdep">
<area shape="rect" id="node3" href="API_8c.html" title="apifiles/API.c" alt="" coords="5,80,104,107"/><area shape="rect" id="node5" href="nbrhd_8c.html" title="Las estructuras Nbrhd, Fedge, Bedge y todas sus funciones se definen aquí. " alt="" coords="129,80,239,107"/></map>
</div>
</div>
<p><a href="nbrhd_8h_source.html">Ir al código fuente de este archivo.</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
'defines'</h2></td></tr>
<tr class="memitem:aa02f16883c5ce325e2dbb8c3835aa9a1"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="nbrhd_8h.html#aa02f16883c5ce325e2dbb8c3835aa9a1">FWD</a>&#160;&#160;&#160;1</td></tr>
<tr class="memdesc:aa02f16883c5ce325e2dbb8c3835aa9a1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Forward.  <a href="#aa02f16883c5ce325e2dbb8c3835aa9a1">Más...</a><br/></td></tr>
<tr class="separator:aa02f16883c5ce325e2dbb8c3835aa9a1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ababc4097c218c2f90a92b311e09a8e42"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="nbrhd_8h.html#ababc4097c218c2f90a92b311e09a8e42">BWD</a>&#160;&#160;&#160;-1</td></tr>
<tr class="memdesc:ababc4097c218c2f90a92b311e09a8e42"><td class="mdescLeft">&#160;</td><td class="mdescRight">Backward.  <a href="#ababc4097c218c2f90a92b311e09a8e42">Más...</a><br/></td></tr>
<tr class="separator:ababc4097c218c2f90a92b311e09a8e42"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acfb785e5d4271a2e7d9023de22c90495"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="nbrhd_8h.html#acfb785e5d4271a2e7d9023de22c90495">FST</a>&#160;&#160;&#160;0</td></tr>
<tr class="memdesc:acfb785e5d4271a2e7d9023de22c90495"><td class="mdescLeft">&#160;</td><td class="mdescRight">El primero.  <a href="#acfb785e5d4271a2e7d9023de22c90495">Más...</a><br/></td></tr>
<tr class="separator:acfb785e5d4271a2e7d9023de22c90495"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a553fc2c3e5597c822f21145286924748"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="nbrhd_8h.html#a553fc2c3e5597c822f21145286924748">NXT</a>&#160;&#160;&#160;1</td></tr>
<tr class="memdesc:a553fc2c3e5597c822f21145286924748"><td class="mdescLeft">&#160;</td><td class="mdescRight">El siguiente del último consultado.  <a href="#a553fc2c3e5597c822f21145286924748">Más...</a><br/></td></tr>
<tr class="separator:a553fc2c3e5597c822f21145286924748"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Funciones</h2></td></tr>
<tr class="memitem:a006b65686eb0a5b9866d5c820e080c36"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structNbrhd.html">Nbrhd</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="nbrhd_8h.html#a006b65686eb0a5b9866d5c820e080c36">nbrhd_create</a> (void)</td></tr>
<tr class="memdesc:a006b65686eb0a5b9866d5c820e080c36"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructor de un nuevo <a class="el" href="structNbrhd.html" title="Puntero a la vecindad de un nodo. ">Nbrhd</a>.  <a href="#a006b65686eb0a5b9866d5c820e080c36">Más...</a><br/></td></tr>
<tr class="separator:a006b65686eb0a5b9866d5c820e080c36"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a50060274f90e40d67047750d4626cd30"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="nbrhd_8h.html#a50060274f90e40d67047750d4626cd30">nbrhd_destroy</a> (<a class="el" href="structNbrhd.html">Nbrhd</a> nbrhd)</td></tr>
<tr class="memdesc:a50060274f90e40d67047750d4626cd30"><td class="mdescLeft">&#160;</td><td class="mdescRight">Destructor de un <a class="el" href="structNbrhd.html" title="Puntero a la vecindad de un nodo. ">Nbrhd</a>.  <a href="#a50060274f90e40d67047750d4626cd30">Más...</a><br/></td></tr>
<tr class="separator:a50060274f90e40d67047750d4626cd30"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adba3ec97b97e982e7f5bfc486e9e22b5"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="nbrhd_8h.html#adba3ec97b97e982e7f5bfc486e9e22b5">nbrhd_addEdge</a> (<a class="el" href="structNbrhd.html">Nbrhd</a> x, <a class="el" href="structNbrhd.html">Nbrhd</a> y, <a class="el" href="structLado.html">Lado</a> edge)</td></tr>
<tr class="memdesc:adba3ec97b97e982e7f5bfc486e9e22b5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Genera el vinculo entre 'x' e 'y' (edge) convirtiéndolos en vecinos.  <a href="#adba3ec97b97e982e7f5bfc486e9e22b5">Más...</a><br/></td></tr>
<tr class="separator:adba3ec97b97e982e7f5bfc486e9e22b5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad0c3e02751a0077f2bf1f90e4d0384d1"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="nbrhd_8h.html#ad0c3e02751a0077f2bf1f90e4d0384d1">nbrhd_getFwd</a> (<a class="el" href="structNbrhd.html">Nbrhd</a> nbrs, int rqst, <a class="el" href="__u64_8h.html#a3f7e2bcbb0b4c338f3c4f6c937cd4234">u64</a> *y)</td></tr>
<tr class="memdesc:ad0c3e02751a0077f2bf1f90e4d0384d1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Busca el siguiente vecino forward.  <a href="#ad0c3e02751a0077f2bf1f90e4d0384d1">Más...</a><br/></td></tr>
<tr class="separator:ad0c3e02751a0077f2bf1f90e4d0384d1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0563715d3cfbbb59cf3e83ef242283e2"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="nbrhd_8h.html#a0563715d3cfbbb59cf3e83ef242283e2">nbrhd_getBwd</a> (<a class="el" href="structNbrhd.html">Nbrhd</a> nbrs, int rqst, <a class="el" href="__u64_8h.html#a3f7e2bcbb0b4c338f3c4f6c937cd4234">u64</a> *y)</td></tr>
<tr class="memdesc:a0563715d3cfbbb59cf3e83ef242283e2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Busca el siguiente vecino backward.  <a href="#a0563715d3cfbbb59cf3e83ef242283e2">Más...</a><br/></td></tr>
<tr class="separator:a0563715d3cfbbb59cf3e83ef242283e2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab32ddc38828b7a18e3dfba02180ce6fa"><td class="memItemLeft" align="right" valign="top"><a class="el" href="__u64_8h.html#a3f7e2bcbb0b4c338f3c4f6c937cd4234">u64</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="nbrhd_8h.html#ab32ddc38828b7a18e3dfba02180ce6fa">nbrhd_increaseFlow</a> (<a class="el" href="structNbrhd.html">Nbrhd</a> nbrs, <a class="el" href="__u64_8h.html#a3f7e2bcbb0b4c338f3c4f6c937cd4234">u64</a> y, short int dir, <a class="el" href="__u64_8h.html#a3f7e2bcbb0b4c338f3c4f6c937cd4234">u64</a> vf)</td></tr>
<tr class="memdesc:ab32ddc38828b7a18e3dfba02180ce6fa"><td class="mdescLeft">&#160;</td><td class="mdescRight">Se aumenta el flujo para con el vecino 'y' por 'vf' cantidad.  <a href="#ab32ddc38828b7a18e3dfba02180ce6fa">Más...</a><br/></td></tr>
<tr class="separator:ab32ddc38828b7a18e3dfba02180ce6fa"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0dd3e6d98e45f2bbf494d6bba07ffd15"><td class="memItemLeft" align="right" valign="top"><a class="el" href="__u64_8h.html#a3f7e2bcbb0b4c338f3c4f6c937cd4234">u64</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="nbrhd_8h.html#a0dd3e6d98e45f2bbf494d6bba07ffd15">nbrhd_getCap</a> (<a class="el" href="structNbrhd.html">Nbrhd</a> nbrs, <a class="el" href="__u64_8h.html#a3f7e2bcbb0b4c338f3c4f6c937cd4234">u64</a> y, short int dir)</td></tr>
<tr class="memdesc:a0dd3e6d98e45f2bbf494d6bba07ffd15"><td class="mdescLeft">&#160;</td><td class="mdescRight">Devuelve la capacidad del lado que relaciona al nodo ancestro 'x' con el vecino 'y'.  <a href="#a0dd3e6d98e45f2bbf494d6bba07ffd15">Más...</a><br/></td></tr>
<tr class="separator:a0dd3e6d98e45f2bbf494d6bba07ffd15"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afc04eb8a4ab84cddef449ba3f698f6d8"><td class="memItemLeft" align="right" valign="top"><a class="el" href="__u64_8h.html#a3f7e2bcbb0b4c338f3c4f6c937cd4234">u64</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="nbrhd_8h.html#afc04eb8a4ab84cddef449ba3f698f6d8">nbrhd_getFlow</a> (<a class="el" href="structNbrhd.html">Nbrhd</a> nbrs, <a class="el" href="__u64_8h.html#a3f7e2bcbb0b4c338f3c4f6c937cd4234">u64</a> y, short int dir)</td></tr>
<tr class="memdesc:afc04eb8a4ab84cddef449ba3f698f6d8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Devuelve el valor del flujo del lado que relaciona al nodo ancestro 'x' con el vecino 'y'.  <a href="#afc04eb8a4ab84cddef449ba3f698f6d8">Más...</a><br/></td></tr>
<tr class="separator:afc04eb8a4ab84cddef449ba3f698f6d8"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Descripción detallada</h2>
<div class="textblock"><p>Encabezado de <a class="el" href="nbrhd_8c.html" title="Las estructuras Nbrhd, Fedge, Bedge y todas sus funciones se definen aquí. ">nbrhd.c</a>. </p>
<dl class="section note"><dt>Nota</dt><dd>Lo que figure en doble paréntesis en este texto, como por ej ((algo)), estará indicando una notación sobre toda la implementación de este archivo.</dd></dl>
<p>La vecindad ((<a class="el" href="structNbrhd.html" title="Puntero a la vecindad de un nodo. ">Nbrhd</a>)) de un nodo ancestro (('x')), es la representación del conjunto de nodos vecinos (('y')) que están relacionados a éste por medio de un lado en el network. <a class="el" href="structNbrhd.html" title="Puntero a la vecindad de un nodo. ">Nbrhd</a> se divide en 2 subconjuntos de nodos 'y': los forward ((FWD)) y los backward ((BWD)). Un nodo 'y' es FWD de 'x' si la dirección de envío de flujo es de 'x' hacia 'y'. Cuando nos refiramos a un lado FWD vamos a estar indicando esta correspondencia y lo denotaremos como lado (('xy')). Todo flujo enviado por un lado FWD aumenta el valor del flujo existente en este lado. Por otro lado, un nodo 'y' es BWD de 'x' si dicha dirección es de 'y' hacia 'x', y denotaremos al lado BWD como (('yx')). Todo flujo enviado por un lado BWD disminuye el valor del flujo existente en este lado.</p>
<p>Con esta noción de <a class="el" href="structNbrhd.html" title="Puntero a la vecindad de un nodo. ">Nbrhd</a> se puede deducir que todos los lados 'xy' pertenecientes al network están representados como lado FWD en el <a class="el" href="structNbrhd.html" title="Puntero a la vecindad de un nodo. ">Nbrhd</a> de su correspondiente nodo 'x', y como lado BWD en el <a class="el" href="structNbrhd.html" title="Puntero a la vecindad de un nodo. ">Nbrhd</a> de su correspondiente nodo 'y'.</p>
<p>Como pueden existir loops (ie. existen 2 lados FWD: x-&gt;y , y-&gt;x) un nodo puede tener a un mismo vecino tanto por FWD como por BWD. Por lo tanto, es necesario especificar cuál lado es con el que se esta queriendo trabajar. Esto se soluciona indicando la dirección, ya que para el nodo 'x' el vecino por FWD esta representando al lado 'xy', es decir x-&gt;y; mientras que el BWD es al lado 'yx' que justamente viene a ser el FWD y-&gt;x. </p>

<p>Definición en el archivo <a class="el" href="nbrhd_8h_source.html">nbrhd.h</a>.</p>
</div><h2 class="groupheader">Documentación de los 'defines'</h2>
<a class="anchor" id="aa02f16883c5ce325e2dbb8c3835aa9a1"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define FWD&#160;&#160;&#160;1</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Forward. </p>

<p>Definición en la línea <a class="el" href="nbrhd_8h_source.html#l00045">45</a> del archivo <a class="el" href="nbrhd_8h_source.html">nbrhd.h</a>.</p>

<p>Referenciado por <a class="el" href="nbrhd_8c_source.html#l00292">findNbr()</a>, <a class="el" href="nbrhd_8c_source.html#l00242">nbrhd_getCap()</a>, <a class="el" href="nbrhd_8c_source.html#l00265">nbrhd_getFlow()</a> y <a class="el" href="nbrhd_8c_source.html#l00207">nbrhd_increaseFlow()</a>.</p>

</div>
</div>
<a class="anchor" id="ababc4097c218c2f90a92b311e09a8e42"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define BWD&#160;&#160;&#160;-1</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Backward. </p>

<p>Definición en la línea <a class="el" href="nbrhd_8h_source.html#l00046">46</a> del archivo <a class="el" href="nbrhd_8h_source.html">nbrhd.h</a>.</p>

<p>Referenciado por <a class="el" href="nbrhd_8c_source.html#l00292">findNbr()</a>, <a class="el" href="nbrhd_8c_source.html#l00242">nbrhd_getCap()</a>, <a class="el" href="nbrhd_8c_source.html#l00265">nbrhd_getFlow()</a> y <a class="el" href="nbrhd_8c_source.html#l00207">nbrhd_increaseFlow()</a>.</p>

</div>
</div>
<a class="anchor" id="acfb785e5d4271a2e7d9023de22c90495"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define FST&#160;&#160;&#160;0</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>El primero. </p>

<p>Definición en la línea <a class="el" href="nbrhd_8h_source.html#l00050">50</a> del archivo <a class="el" href="nbrhd_8h_source.html">nbrhd.h</a>.</p>

<p>Referenciado por <a class="el" href="nbrhd_8c_source.html#l00171">nbrhd_getBwd()</a> y <a class="el" href="nbrhd_8c_source.html#l00128">nbrhd_getFwd()</a>.</p>

</div>
</div>
<a class="anchor" id="a553fc2c3e5597c822f21145286924748"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define NXT&#160;&#160;&#160;1</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>El siguiente del último consultado. </p>

<p>Definición en la línea <a class="el" href="nbrhd_8h_source.html#l00051">51</a> del archivo <a class="el" href="nbrhd_8h_source.html">nbrhd.h</a>.</p>

<p>Referenciado por <a class="el" href="nbrhd_8c_source.html#l00171">nbrhd_getBwd()</a> y <a class="el" href="nbrhd_8c_source.html#l00128">nbrhd_getFwd()</a>.</p>

</div>
</div>
<h2 class="groupheader">Documentación de las funciones</h2>
<a class="anchor" id="a006b65686eb0a5b9866d5c820e080c36"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structNbrhd.html">Nbrhd</a> nbrhd_create </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Constructor de un nuevo <a class="el" href="structNbrhd.html" title="Puntero a la vecindad de un nodo. ">Nbrhd</a>. </p>
<dl class="section return"><dt>Devuelve</dt><dd>un <code><a class="el" href="structNbrhd.html" title="Puntero a la vecindad de un nodo. ">Nbrhd</a></code> vacío. </dd></dl>

<p>Definición en la línea <a class="el" href="nbrhd_8c_source.html#l00053">53</a> del archivo <a class="el" href="nbrhd_8c_source.html">nbrhd.c</a>.</p>

</div>
</div>
<a class="anchor" id="a50060274f90e40d67047750d4626cd30"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void nbrhd_destroy </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structNbrhd.html">Nbrhd</a>&#160;</td>
          <td class="paramname"><em>nbrs</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Destructor de un <a class="el" href="structNbrhd.html" title="Puntero a la vecindad de un nodo. ">Nbrhd</a>. </p>
<dl class="section pre"><dt>Precondición</dt><dd><code><a class="el" href="structNbrhd.html" title="Puntero a la vecindad de un nodo. ">Nbrhd</a></code> no es nulo. </dd></dl>

<p>Definición en la línea <a class="el" href="nbrhd_8c_source.html#l00068">68</a> del archivo <a class="el" href="nbrhd_8c_source.html">nbrhd.c</a>.</p>

</div>
</div>
<a class="anchor" id="adba3ec97b97e982e7f5bfc486e9e22b5"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void nbrhd_addEdge </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structNbrhd.html">Nbrhd</a>&#160;</td>
          <td class="paramname"><em>x</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structNbrhd.html">Nbrhd</a>&#160;</td>
          <td class="paramname"><em>y</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structLado.html">Lado</a>&#160;</td>
          <td class="paramname"><em>edge</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Genera el vinculo entre 'x' e 'y' (edge) convirtiéndolos en vecinos. </p>
<p>La relación es 'xy': 'y' vecino forward de 'x'; 'x' vecino backward de 'y'. </p>
<dl class="section pre"><dt>Precondición</dt><dd>'x', 'y', 'edge' no son nulos. </dd></dl>
<dl class="params"><dt>Parámetros</dt><dd>
  <table class="params">
    <tr><td class="paramname">x</td><td>Vecindario del nodo 'x'. </td></tr>
    <tr><td class="paramname">y</td><td>Vecindario del nodo 'y'. </td></tr>
    <tr><td class="paramname">edge</td><td><a class="el" href="structLado.html" title="Puntero a un lado. ">Lado</a> 'xy' con su capacidad y flujo. </td></tr>
  </table>
  </dd>
</dl>

<p>Definición en la línea <a class="el" href="nbrhd_8c_source.html#l00087">87</a> del archivo <a class="el" href="nbrhd_8c_source.html">nbrhd.c</a>.</p>

</div>
</div>
<a class="anchor" id="ad0c3e02751a0077f2bf1f90e4d0384d1"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int nbrhd_getFwd </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structNbrhd.html">Nbrhd</a>&#160;</td>
          <td class="paramname"><em>nbrs</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>rqst</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="__u64_8h.html#a3f7e2bcbb0b4c338f3c4f6c937cd4234">u64</a> *&#160;</td>
          <td class="paramname"><em>y</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Busca el siguiente vecino forward. </p>
<p>La petición de búsqueda puede ser por el primer nodo (FST) de la tabla, o bien por el siguiente(NXT) del ultimo pedido. Si existe almacena el nombre en 'y'.</p>
<dl class="section note"><dt>Nota</dt><dd>Tener en cuenta la documentación sobre las opciones de los parámetros. Verlo como un iterador de consultas a una tabla.</dd></dl>
<dl class="params"><dt>Parámetros</dt><dd>
  <table class="params">
    <tr><td class="paramname">nbrs</td><td>El vecindario del nodo ancestro 'x'. </td></tr>
    <tr><td class="paramname">rqst</td><td>Si se pide el primero 'FST' o un siguiente 'NXT'. </td></tr>
    <tr><td class="paramname">y</td><td>Variable en la que se almacena el nombre del vecino encontrado. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section pre"><dt>Precondición</dt><dd>'nbrs' e 'y' no son nulos y 'rqst' es una opción valida (FST o NXT). </dd></dl>
<dl class="section return"><dt>Devuelve</dt><dd>1 Si se encontró y se almacenó en 'y' un vecino.<br/>
 0 Caso contrario. </dd></dl>

<p>Definición en la línea <a class="el" href="nbrhd_8c_source.html#l00128">128</a> del archivo <a class="el" href="nbrhd_8c_source.html">nbrhd.c</a>.</p>

</div>
</div>
<a class="anchor" id="a0563715d3cfbbb59cf3e83ef242283e2"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int nbrhd_getBwd </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structNbrhd.html">Nbrhd</a>&#160;</td>
          <td class="paramname"><em>nbrs</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>rqst</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="__u64_8h.html#a3f7e2bcbb0b4c338f3c4f6c937cd4234">u64</a> *&#160;</td>
          <td class="paramname"><em>y</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Busca el siguiente vecino backward. </p>
<p>La petición de búsqueda puede ser por el primer nodo (FST) de la tabla, o bien por el siguiente(NXT) del ultimo pedido. Si existe almacena el nombre en 'y'.</p>
<dl class="section note"><dt>Nota</dt><dd>Tener en cuenta la documentación sobre las opciones de los parámetros. Verlo como un iterador de consultas a una tabla.</dd></dl>
<dl class="params"><dt>Parámetros</dt><dd>
  <table class="params">
    <tr><td class="paramname">nbrs</td><td>El vecindario del nodo ancestro 'x'. </td></tr>
    <tr><td class="paramname">rqst</td><td>Si se pide el primero 'FST' o un siguiente 'NXT'. </td></tr>
    <tr><td class="paramname">y</td><td>Variable en la que se almacena el nombre del vecino encontrado. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section pre"><dt>Precondición</dt><dd>'nbrs' e 'y' no son nulos y 'rqst' es una opción valida (FST o NXT). </dd></dl>
<dl class="section return"><dt>Devuelve</dt><dd>1 Si se encontró y se almaceno en 'y' un vecino.<br/>
 0 Caso contrario. </dd></dl>

<p>Definición en la línea <a class="el" href="nbrhd_8c_source.html#l00171">171</a> del archivo <a class="el" href="nbrhd_8c_source.html">nbrhd.c</a>.</p>

</div>
</div>
<a class="anchor" id="ab32ddc38828b7a18e3dfba02180ce6fa"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="__u64_8h.html#a3f7e2bcbb0b4c338f3c4f6c937cd4234">u64</a> nbrhd_increaseFlow </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structNbrhd.html">Nbrhd</a>&#160;</td>
          <td class="paramname"><em>nbrs</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="__u64_8h.html#a3f7e2bcbb0b4c338f3c4f6c937cd4234">u64</a>&#160;</td>
          <td class="paramname"><em>y</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">short int&#160;</td>
          <td class="paramname"><em>dir</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="__u64_8h.html#a3f7e2bcbb0b4c338f3c4f6c937cd4234">u64</a>&#160;</td>
          <td class="paramname"><em>vf</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Se aumenta el flujo para con el vecino 'y' por 'vf' cantidad. </p>
<p>Si 'y' es un vecino BWD, el valor del flujo se disminuye por 'vf' cantidad. </p>
<dl class="params"><dt>Parámetros</dt><dd>
  <table class="params">
    <tr><td class="paramname">nbrs</td><td>El vecindario del nodo ancestro 'x'. </td></tr>
    <tr><td class="paramname">y</td><td>El nombre del vecino. </td></tr>
    <tr><td class="paramname">dir</td><td>Dirección que se encuentra el vecino (lado FWD o BWD). </td></tr>
    <tr><td class="paramname">vf</td><td>El valor de flujo. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section pre"><dt>Precondición</dt><dd>'y' es vecino de 'x'. 'vf' &gt; 0. </dd></dl>
<dl class="section return"><dt>Devuelve</dt><dd>Valor del nuevo flujo que se esta enviando entre 'x' e 'y'. </dd></dl>

<p>Definición en la línea <a class="el" href="nbrhd_8c_source.html#l00207">207</a> del archivo <a class="el" href="nbrhd_8c_source.html">nbrhd.c</a>.</p>

</div>
</div>
<a class="anchor" id="a0dd3e6d98e45f2bbf494d6bba07ffd15"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="__u64_8h.html#a3f7e2bcbb0b4c338f3c4f6c937cd4234">u64</a> nbrhd_getCap </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structNbrhd.html">Nbrhd</a>&#160;</td>
          <td class="paramname"><em>nbrs</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="__u64_8h.html#a3f7e2bcbb0b4c338f3c4f6c937cd4234">u64</a>&#160;</td>
          <td class="paramname"><em>y</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">short int&#160;</td>
          <td class="paramname"><em>dir</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Devuelve la capacidad del lado que relaciona al nodo ancestro 'x' con el vecino 'y'. </p>
<p>Como pueden haber loops hay que especificar si se esta tratando del lado 'xy' o 'yx'. </p>
<dl class="params"><dt>Parámetros</dt><dd>
  <table class="params">
    <tr><td class="paramname">nbrs</td><td>El vecindario del nodo ancestro 'x'. </td></tr>
    <tr><td class="paramname">y</td><td>El nombre del vecino. </td></tr>
    <tr><td class="paramname">dir</td><td>Dirección que se encuentra el vecino (lado FWD o BWD). </td></tr>
  </table>
  </dd>
</dl>
<dl class="section pre"><dt>Precondición</dt><dd>'y' es vecino de 'x'. </dd></dl>
<dl class="section return"><dt>Devuelve</dt><dd>La capacidad sobre este lado. </dd></dl>

<p>Definición en la línea <a class="el" href="nbrhd_8c_source.html#l00242">242</a> del archivo <a class="el" href="nbrhd_8c_source.html">nbrhd.c</a>.</p>

</div>
</div>
<a class="anchor" id="afc04eb8a4ab84cddef449ba3f698f6d8"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="__u64_8h.html#a3f7e2bcbb0b4c338f3c4f6c937cd4234">u64</a> nbrhd_getFlow </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structNbrhd.html">Nbrhd</a>&#160;</td>
          <td class="paramname"><em>nbrs</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="__u64_8h.html#a3f7e2bcbb0b4c338f3c4f6c937cd4234">u64</a>&#160;</td>
          <td class="paramname"><em>y</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">short int&#160;</td>
          <td class="paramname"><em>dir</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Devuelve el valor del flujo del lado que relaciona al nodo ancestro 'x' con el vecino 'y'. </p>
<p>Como pueden haber loops hay que especificar si se esta tratando del lado 'xy' o 'yx'. </p>
<dl class="params"><dt>Parámetros</dt><dd>
  <table class="params">
    <tr><td class="paramname">nbrs</td><td>El vecindario de 'x'. </td></tr>
    <tr><td class="paramname">y</td><td>El nombre del vecino. </td></tr>
    <tr><td class="paramname">dir</td><td>Dirección que se encuentra el vecino (lado FWD o BWD). </td></tr>
  </table>
  </dd>
</dl>
<dl class="section pre"><dt>Precondición</dt><dd>'y' es vecino de 'x'. </dd></dl>
<dl class="section return"><dt>Devuelve</dt><dd>El valor del flujo sobre este lado. </dd></dl>

<p>Definición en la línea <a class="el" href="nbrhd_8c_source.html#l00265">265</a> del archivo <a class="el" href="nbrhd_8c_source.html">nbrhd.c</a>.</p>

</div>
</div>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
    <li class="navelem"><a class="el" href="dir_5116870a98769fcb7fa621a6c1aaaf2c.html">apifiles</a></li><li class="navelem"><a class="el" href="nbrhd_8h.html">nbrhd.h</a></li>
    <li class="footer">Generado el Martes, 30 de Septiembre de 2014 12:40:17 para Dinic por
    <a href="http://www.doxygen.org/index.html">
    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.5 </li>
  </ul>
</div>
</body>
</html>
